//
//  YHPerson+Extention.m
//  LyhToolsTest
//
//  Created by LYH on 2019/1/2.
//  Copyright © 2019年 LYH.com. All rights reserved.
//

#import "YHPerson+Extention.h"
#import <objc/runtime.h>
#import <objc/message.h>


@implementation YHPerson (Extention)

- (void)setName:(NSString *)name
{
    /**
     *  根据某个对象，还有key，还有对应的策略(copy,strong等) 动态的将值设置到这个对象的key上
     *
     *  @param object 某个对象
     *  @param key    属性名,根据key去获取关联的对象
     *  @param value  要设置的值
     *  @param policy 策略(copy,strong，assign等)
     */
     objc_setAssociatedObject(self, @"name", name, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (NSString *)name
{
    /**
     *  根据某个对象，还有key 动态的获取到这个对象的key对应的属性的值
     *
     *  @param object 某个对象
     *  @param key    key
     *
     *  @return 对象的值
     */
    return objc_getAssociatedObject(self, @"name");
}
@end
